Best for
- After /levelup-clarify: Accepted CDRs need to be published
- Single skill build: Use --skill to build one skill
- Context modules only: Use --context-only to skip skill generation
tikalk/adlc-team-skills/skills/levelup/levelup-publish/SKILL.md
Compile accepted Context Directive Records (CDRs) into team-ai-directives artifacts and create a draft PR. Builds context modules, evals goldensets, and/or skills based on CDR context types.
Decision brief
Compile accepted Context Directive Records (CDRs) into team-ai-directives artifacts and create a draft PR. Builds context modules, evals goldensets, and/or skills based on CDR context types.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/tikalk/adlc-team-skills --skill "skills/levelup/levelup-publish"Inspect the Agent Skill "levelup-publish" from https://github.com/tikalk/adlc-team-skills/blob/a6ea2fd3d9cf46c5cba9ff384e1099ce62481b8b/skills/levelup/levelup-publish/SKILL.md at commit a6ea2fd3d9cf46c5cba9ff384e1099ce62481b8b. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
You MUST consider the user input before proceeding (if not empty).
Parse JSON for REPOROOT, TEAMAIDIRECTIVES, CDRDRAFTSDIR, ACCEPTEDCDRS, TDCONFIGURED, TDISGIT, TDCLEAN.
Verify Team Directives configured:
For each accepted CDR, evaluate it against these four criteria:
1. Duplicate Targets: Multiple CDRs targeting the same module path 2. Rule Conflicts: Same concern, different implementations 3. Unresolved Inconsistencies: CDRs with type "Inconsistency" not marked Resolved
Permission review
The documentation asks the agent to run terminal commands or scripts.
git checkout -b "levelup/$(basename "$REPO_ROOT")" main 2>/dev/null || git checkout -b "levelup/$(basename "$REPO_ROOT")"The documentation asks the agent to create, modify, or delete local files.
For each accepted non-skill CDR, create/update the target file.The documentation asks the agent to create, modify, or delete local files.
*Step 1: Create evals directory**The documentation asks the agent to run terminal commands or scripts.
git checkout -b "levelup/$(basename "$REPO_ROOT")" main 2>/dev/null || git checkout -b "levelup/$(basename "$REPO_ROOT")"Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 89/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 97 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Compile accepted CDRs into actual artifacts in the team-ai-directives team AI directives and create a draft PR.
It is the implementation phase of the CDR lifecycle:
goldset.md + goldset.json) for eval-type CDRsSKILL.md + .skills-entry.json).skills.json manifestCDR.md index in team-ai-directivesThis skill does not run until CDRs have been accepted via /levelup-clarify.
/levelup-clarify: Accepted CDRs need to be published--skill <name|CDR-id> to build one skill--context-only to skip skill generation/levelup-clarify first/levelup-init or /levelup-specify/levelup-clarify$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Examples of User Input:
"--ready" — Create ready PR instead of draft"--skip-skills" — Don't include skill CDRs"--context-only" — Only build context modules"--skill CDR-005" — Build only the skill from CDR-005"CDR-001 CDR-003" — Only implement specific CDRs--ready: Create ready PR instead of draft--skip-skills: Skip skill-type CDRs--context-only: Build only context modules (skip all skills)--skill <name|CDR-id>: Build only one skill from a specific accepted skill CDRYou are acting as a Context Publisher — moving accepted CDRs from local drafts to team-ai-directives.
Your role involves:
Run:
scripts/bash/setup-levelup-publish.sh
Parse JSON for REPO_ROOT, TEAM_AI_DIRECTIVES, CDR_DRAFTS_DIR, ACCEPTED_CDRS, TD_CONFIGURED, TD_IS_GIT, TD_CLEAN.
If the setup script is unavailable or fails, resolve manually:
REPO_ROOT — walk up from cwd to find .adlc/, or git rev-parse --show-toplevel, or use pwd.TEAM_AI_DIRECTIVES — TEAM_AI_DIRECTIVES env var, then .adlc/init-options.json → team_ai_directives, then REPO_ROOT/team-ai-directives.CDR_DRAFTS_DIR — REPO_ROOT/.adlc/drafts/cdrACCEPTED_CDRS — grep -l '^### Status: \*\*Accepted\*\*' CDR_DRAFTS_DIR/CDR-*.md and extract IDs.TD_IS_GIT — git -C "$TEAM_AI_DIRECTIVES" rev-parse --is-inside-work-tree (exit 0 = true).TD_CLEAN — git -C "$TEAM_AI_DIRECTIVES" status --porcelain (empty = clean).If TD_IS_GIT is false, Phase 10 (branch/commit/PR) cannot run. Offer to git init the team AI directives or write files directly without git.
Verify Team Directives configured:
Team AI directives repository not configured.
Run: team-setup
Or set: export TEAM_AI_DIRECTIVES=/path/to/team-ai-directives
Check Working Tree:
If TD_CLEAN is false:
team-ai-directives has uncommitted changes.
Please commit or stash changes before running /levelup-publish.
Check Accepted CDRs:
If ACCEPTED_CDRS is empty:
No accepted CDRs found.
Run /levelup-clarify to accept CDRs first.
For each accepted CDR, evaluate it against these four criteria:
Team-wide applicability: Does this pattern apply to multiple projects/teams, or is it specific to one project? If the CDR's context or evidence only references a single project's internals with no generalizable lesson → SKIP (reason: "project-specific").
Evidence quality: Does the CDR reference concrete file paths, commit SHAs, or test cases? If the evidence section is empty or vague ("various files", "general practice") → SKIP (reason: "no evidence").
Uniqueness: Does this duplicate an existing directive in team-ai-directives? Check context_modules/rules/, context_modules/examples/, and CDR.md for overlapping content. If it overlaps → SKIP (reason: "duplicate").
High value: Is this a genuinely useful pattern, or a nice-to-have minor convenience? If the CDR explicitly states "low value" or "minor convenience", or the pattern is trivial (e.g., "use semicolons") → SKIP (reason: "low value").
Skip CDRs that fail any criterion. Skipped CDRs remain in local drafts.
Report:
## Signal Gate Validation
**Passing**: N | **Skipped**: M
### Skipped CDRs
| CDR | Reason |
|---|---|
| CDR-003 | No evidence |
| CDR-005 | Project-specific |
Check for:
If conflicts found:
Cross-CDR conflicts detected. Resolve via /levelup-clarify before implementing.
Create branch in team-ai-directives (skip if TD_IS_GIT=false — git operations are handled in Phase 10):
cd "$TEAM_AI_DIRECTIVES"
git checkout -b "levelup/$(basename "$REPO_ROOT")" main 2>/dev/null || git checkout -b "levelup/$(basename "$REPO_ROOT")"
For each accepted non-skill CDR, create/update the target file.
Extracting fields from CDRs: CDRs use single-line field format (### Field: value). Extract values by parsing the line after the ### prefix:
title — from the ## CDR-NNN: headingdescription — from ### Descriptor: lineid — from ## CDR-NNN heading (e.g., CDR-001)cdr_ref — same as iddomain — from ### Domain: line (default: general)context-type — from ### Context Type: line (lowercased; default: rule)created / modified / verified — from ### Date: line (use today's date for modified/verified if not present)evidence — from ### Feature Implementation Evidence or ### Evidence section body{Content from CDR} — from ### Context section bodyresource, tags, timestamp) are derived: resource = relative path from context type/domain/file, tags = context type, timestamp = ISO 8601 datetimeRules:
---
type: Rule
title: {title}
description: {description}
resource: ./context_modules/rules/{domain}/{file}.md
tags: [{context-type}]
timestamp: {today}T00:00:00Z
id: {id}
cdr_ref: {cdr_ref}
created: {created}
modified: {modified}
verified: {verified}
age_days: 0
evidence:
{evidence}
---
> ⚠️ **Memory Verification**
> This directive is 0 days old. Before applying:
> - [ ] Pattern still exists in current codebase
> - [ ] Rule is actively followed by team
> - [ ] No conflicting rules introduced
# {Title}
{Content from CDR}
## Source
Contributed from: {project-name}
CDR: {cdr_ref}
Personas and Examples follow similar templates with appropriate type.
Constitution:
context_modules/constitution.mdFor each accepted eval-type CDR, generate goldenset files in team-ai-directives/evals/.
Extracting fields from eval CDRs: Parse the CDR's single-line fields:
directive_id — from ### Paired Directive CDR: line (e.g., CDR-001)descriptor — from ### Descriptor: linepass_cases — from ### Pass Cases section bodyfail_cases — from ### Fail Cases section bodyadversarial_cases — from ### Adversarial Cases section bodyStep 1: Create evals directory
mkdir -p "$TEAM_AI_DIRECTIVES/evals/{directive_id}"
Step 2: Write goldset.md
Write {TEAM_AI_DIRECTIVES}/evals/{directive_id}/goldset.md:
---
type: Eval
title: {title from CDR}
description: {descriptor from CDR}
resource: ./evals/{directive_id}/goldset.md
tags: [eval]
timestamp: {today}T00:00:00Z
id: {eval CDR id}
cdr_ref: {eval CDR id}
paired_directive: {directive_id}
created: {date from CDR}
modified: {today}
verified: {today}
age_days: 0
---
# Goldset: {Title}
## Directive Under Test
- **CDR**: {directive_id}
- **Path**: {target module of paired directive CDR}
## Pass Cases
{pass cases from CDR — each with scenario, input, output, why-it-passes}
## Fail Cases
{fail cases from CDR — each with scenario, input, output, why-it-fails, correction}
## Adversarial Cases
{adversarial cases from CDR — each with scenario, expected}
Step 3: Write goldset.json
Write {TEAM_AI_DIRECTIVES}/evals/{directive_id}/goldset.json — machine-readable version for grader consumption:
{
"id": "{eval CDR id}",
"paired_directive": "{directive_id}",
"title": "{title}",
"description": "{descriptor}",
"cases": [
{
"id": "PASS-001",
"type": "pass",
"scenario": "...",
"input_context": "...",
"expected_output": "...",
"actual_output": "...",
"reason": "..."
},
{
"id": "FAIL-001",
"type": "fail",
"scenario": "...",
"input_context": "...",
"expected_output": "...",
"actual_output": "...",
"reason": "...",
"correction": "..."
}
]
}
Step 4: Report
Eval goldenset published: evals/{directive_id}/goldset.md
Eval goldenset JSON: evals/{directive_id}/goldset.json
Skip if --skip-skills or if all skill CDRs excluded.
For skill-type CDRs (or when --skill <name|CDR-id> is specified):
skills/{name}/SKILL.md:---
name: {name}
description: {description from CDR}
disable-model-invocation: true
---
# {name}
## What this skill does
{Summary}
## When to use
- {Trigger 1}
- {Trigger 2}
## Steps
1. {Step 1}
2. {Step 2}
## Example
{Minimal example}
## Verification
{How to verify}
## Related
- CDRs: {cdr_ref}
skills/{name}/.skills-entry.json:{
"name": "{name}",
"description": "{description}",
"version": "1.0.0",
"cdr_ref": "{cdr_ref}"
}
.skills.json:{
"local:./skills/{name}": {
"version": "1.0.0",
"description": "{description}",
"categories": ["..."]
}
}
AGENTS.md Skills section with the new skill.Create/update {TEAM_AI_DIRECTIVES}/CDR.md with accepted CDRs:
# Context Directive Records
## CDR Index
| ID | Target Module | Type | Status | Created | Verified | Age | Descriptor |
|---|---|---|---|---|---|---|---|
| CDR-001 | context_modules/rules/... | Rule | Accepted | ... | ... | 0 | ... |
If AGENTS.md is missing, create it from a template.
Verify files created, then follow the git decision tree:
Case A: team-ai-directives IS a git repo (TD_IS_GIT=true)
main if it exists, otherwise HEAD):cd "$TEAM_AI_DIRECTIVES"
git checkout -b "levelup/$(basename "$REPO_ROOT")" main 2>/dev/null || git checkout -b "levelup/$(basename "$REPO_ROOT")"
git add -A
git commit -m "Add context modules from $(basename "$REPO_ROOT")
CDRs implemented:
- CDR-001: ...
- CDR-002: ...
"
git remote get-url origin 2>/dev/null
4a. If remote "origin" exists AND gh CLI is available — push and create draft PR:
git push -u origin "levelup/$(basename "$REPO_ROOT")"
gh pr create --draft --title "Add context modules from $(basename "$REPO_ROOT")" --body "..."
4b. If remote "origin" exists but gh is NOT available — push only, tell user to open PR manually:
git push -u origin "levelup/$(basename "$REPO_ROOT")"
Report: "Pushed to origin/levelup/{project-name}. Open a PR manually at your Git host."
4c. If no remote exists — commit locally only. Report: "Committed to local branch levelup/{project-name}. Add a remote (git remote add origin <url>) and push when ready."
Case B: team-ai-directives is NOT a git repo (TD_IS_GIT=false)
Offer the user two options:
git init + commit — initialize git, create an initial commit with the scaffold, then commit the new context modules:cd "$TEAM_AI_DIRECTIVES"
git init
git add -A
git commit -m "Initial team-ai-directives scaffold"
git checkout -b "levelup/$(basename "$REPO_ROOT")"
git add -A
git commit -m "Add context modules from $(basename "$REPO_ROOT")"
Then follow steps 3–4 above (remote check).
{TEAM_AI_DIRECTIVES}. Initialize git and commit when ready."## LevelUp Implement Summary
**Project**: {project-name}
**Branch**: levelup/{project-name}
**CDRs Implemented**: N
**CDRs Skipped (Signal Gate)**: M
### Artifacts Created
| Type | Count |
|---|---|
| Rules | N |
| Personas | N |
| Examples | N |
| Skills | N |
| Constitution Changes | N |
| Evals | N |
### PR Details
**URL**: {PR-URL}
**Status**: Draft
### Next Steps
1. Review PR
2. Merge when approved
3. Run `/team-repair` after merge to re-index and validate
/levelup-clarify to resolvecreated, modified, verified, age_daysCDR.mdCDR.md first and skip the actual modules/levelup-publishAfter PR is merged in team-ai-directives, run /team-repair to:
CDR.md, .skills.json, and AGENTS.md/levelup-init or /levelup-specify
↓
/levelup-clarify
↓
/levelup-publish
↓
PR merged
↓
/team-repair --validate
After implementation, monitor the PR for review. Once merged, run /team-repair to validate the updated team AI directives.
{TEAM_AI_DIRECTIVES}/context_modules/{TEAM_AI_DIRECTIVES}/evals/ (for eval-type CDRs){TEAM_AI_DIRECTIVES}/skills/ (unless skipped).skills.json updated with new skillsCDR.md updated at {TEAM_AI_DIRECTIVES}/CDR.md$ARGUMENTS
Alternatives
JasonColapietro/suede-creator-skills
Suede-owned Instagram growth operating system for account-specific audits, Reels, carousels, Stories, conversion mapping, calendars, and daily candidate-production loops. Use when the user names Instagram, IG, Reels, Stories, asks to analyze recent posts, grow a handle, run a daily workflow, create or repurpose Instagram content, or distinguish views from follows, leads, and sales. NOT FOR: multi-platform organic strategy (use suede-social), full video rendering or editing (use suede-video), pai
mission69b/t2000
Publishing, upgrading, and deploying Sui Move packages. Use this skill when the user needs to publish a package, upgrade a published package, deploy to multiple networks, serialize transactions for multisig signing, run a local Sui network (localnet), prepare for Mainnet launch, monitor production deployments, or debug dry run failures. Also use when the user asks about sui client publish, sui client upgrade, UpgradeCap, upgrade policies, Published.toml, --serialize-output, localnet, mainnet lau
eugenelim/agent-ready-repo
Use to drive the deployed end-to-end validation outer loop — deploy the integrated whole to an ephemeral environment, run e2e, observe telemetry, feed deployed findings back to work-loop's inner loop, redeploy, and iterate until the deployed whole converges, then stop at the human consent gate for the prod ship. Run by the release-lead agent (a peer of work-loop's supervisor, not a work-loop mode). Triggers on "run the release loop", "deploy the integrated whole and iterate", "ship it to an ephe
prisma/prisma
Review what Prisma Next migrations will run on merge or deploy, render the migration graph, resolve concurrent / diamond-convergence conflicts, and configure environment refs for CI. Use for "what migrations are going to run", "what runs on deploy", merge conflict, diamond convergence, concurrent migrations, migration status, ref management, staging, production, MIGRATION.DIVERGED, MIGRATION.NO_MARKER, MIGRATION.MARKER_NOT_IN_HISTORY, prisma migrate status, prisma migrate diff, prisma migrate re