Agent skill

Writing Skills

by tikalk in tikalk/adlc-team-skills

A skill your agent uses when creating a new skill, editing an existing skill, or verifying skills work before deployment

MITAuto-check passedAgent Workflows

Install Writing Skills

skills CLI
$ npx skills add tikalk/adlc-team-skills --skill writing-skills -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tikalk/adlc-team-skills writing-skills --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tikalk/adlc-team-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/authoring/writing-skills .claude/skills/writing-skills && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
writing-skills
GitHub stars
141
Token cost
~1.9k tokens
SKILL.md length
961 words
Files
3 (incl. references)
Skills in repo
45
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when creating a new skill, editing an existing skill, or verifying skills work before deployment

  • Creating a new skill
  • SKILL.md covers Overview, When to Use, Core Process and Structure Rules (this repo), plus 6 more sections
  • Calls pytest
  • Editing an existing skill

What it does

Writing Skills is an agent skill from tikalk/adlc-team-skills. Use when creating a new skill, editing an existing skill, or verifying skills work before deployment

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/skill-testing.md` and `templates/SKILL-template.md`).

It sits in Agent Workflows, covering Skill authoring. The repository describes itself as: Agent skills for the Agentic SDLC: team lifecycle (team-boot, team-learn, team-init, team-repair), software factory, evals, CDR lifecycle with confidence scoring, and… The licence is MIT.

When your agent uses it

  • Creating a new skill
  • Editing an existing skill
  • Verifying skills work before deployment

Example prompts

  • “/writing-skills”

What it can do on your machine

Read from SKILL.md and the folder at commit 6cecb07. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pytest

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Writing Skills loads about 1.9k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 29 tokens; SKILL.md has 961 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~29
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tikalk/adlc-team-skills at commit 6cecb07, republished under its MIT licence (© tikalk). 961 words, ~1,892 tokens.

Download SKILL.mdSave it as .claude/skills/writing-skills/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
writing-skills
description
Use when creating a new skill, editing an existing skill, or verifying skills work before deployment

Writing Skills

Overview

Writing skills IS Test-Driven Development applied to process documentation.

A skill is behavior-shaping code, not prose. You write a failing test (a pressure scenario an agent gets wrong without the skill), watch it fail, write the minimal skill that fixes it, watch it pass, then close loopholes.

Core principle: if you didn't watch an agent fail without the skill, you don't know whether the skill teaches the right thing — or anything at all.

The Iron Law:

NO SKILL WITHOUT A FAILING BASELINE FIRST

This applies to new skills AND to edits of existing skills. "Simple addition", "just a section", "docs update" — all the same violation. Write the skill before testing it? Delete it and start over.

When to Use

  • Creating a new skill for this repo (also read CONTRIBUTING.md — new skills must be agreed in an issue first and ship with eval coverage)
  • Editing any skills/**/SKILL.md content
  • Reviewing a PR that changes skill content

When NOT to use: for project-specific conventions (those go in the team-ai-directives repo as CDRs), or for mechanical constraints a script or test can enforce — automate those, save documentation for judgment calls.

Core Process

RED — Baseline the failure

Run the scenario WITHOUT the skill loaded. Document verbatim:

  • What the agent actually did
  • The exact rationalizations it used to skip the correct behavior
  • Which pressures triggered the failure (time, sunk cost, authority, "it works either way")

If the agent already behaves correctly without the skill, stop — there is nothing to fix. A skill that enforces behavior that comes for free is context noise (this repo exists to fight context noise, not add to it).

GREEN — Write the minimal skill

Start from the template (templates/SKILL-template.md in this directory). Address only the failures you observed in RED — not hypothetical ones.

Run the same scenario WITH the skill. The agent should now comply.

REFACTOR — Close the loopholes

New rationalization found? Add an explicit counter, re-test. Loop until bulletproof under pressure.

Micro-test wording before full scenarios

Full pressure runs are slow. Verify wording cheaply first: one fresh API/subagent call per sample, 5+ reps per variant, always including a no-guidance control. If the control doesn't exhibit the failure, there is nothing to fix. Read every flagged match manually — automated counts overstate both failure and success.

Structure Rules (this repo)

RuleWhy
Exactly 2 levels deep: skills/<domain>/<skill>/SKILL.mdEnforced by test_skill_directory_depth; resolves the skills CLI depth limit
Frontmatter: name + description required (≤1024 chars total)Enforced by test_skill_description_presence_and_length
Optional scripts: (sh:/ps:) and disable-model-invocation: trueMark skills that must not be model-invoked
Description = trigger onlySee below — the single most common way skills silently break
Headings: Overview → When to Use → Core Process → Red Flags → VerificationCanonical shape; Configuration only if the skill has knobs
Token budget: aim <500 lines for the SKILL.md body (enforced: warn >500, fail >800 — see test_skill_token_budget)Heavy reference → references/; scripts → scripts/{bash,powershell}/
New skills ship with eval coverageGoldset criterion + binary grader ({"pass": bool, "score": 1.0|0.0}) — see evals/promptfoo/

Skill Discovery Optimization (SDO)

The description is the trigger surface: factory-mission hands every skill's name+description to its subagents, and the model decides what to load from that list.

Description = when to use. NEVER what the skill does.

Measured failure mode (see superpowers' writing-skills, which this skill adapts): when a description summarizes the workflow, agents follow the description instead of reading the skill body — a description saying "code review between tasks" produced one review where the skill's flowchart clearly required two.

yaml
# BAD: workflow summary — agents will follow this shortcut
description: Bootstraps the session by injecting the team context index and pulls rules on demand

# GOOD: trigger only
description: Use when a session starts and the team AI directives context is not yet loaded
  • Start with "Use when…" and name concrete symptoms and situations
  • Third person (it is injected into prompts)
  • Keywords an agent would search for: error messages, symptoms, tool names
  • Skills with disable-model-invocation: true are exempt (not routed by the model) but must still not mislead
Show full SKILL.md (356 more words)Show less

Match the Form to the Failure

Before writing guidance, classify the baseline failure. The form that bulletproofs one failure type backfires on another.

Baseline failureRight formWrong form
Skips a rule under pressure (knows better, does it anyway)Prohibition + rationalization table + red flagsSoft guidance ("prefer…", "consider…")
Output has the wrong shape (bloated, buried verdict)Positive recipe: state what the output IS, its parts in orderProhibition list ("don't restate", "never narrate")
Omits a required elementStructural: a REQUIRED slot in the templateProse reminders near the template
Behavior depends on a conditionConditional on an observable predicateUnconditional rule + exemption clauses

No nuance clauses either way: "don't X unless it matters" reopens negotiation; a single nuance clause on a winning recipe degrades it.

Bulletproofing Discipline Skills

For rule-enforcing skills, close every loophole explicitly: forbid the specific workarounds ("don't keep it as reference — delete means delete"), add the foundational principle early ("violating the letter of the rules is violating the spirit"), build the rationalization table from your RED transcript, and list Red Flags the agent can self-check against.

Red Flags

  • Skill written before the baseline run — delete and start over
  • Description summarizes what the skill does instead of when to use it
  • "The agent will obviously do the right thing" — that's what RED is for
  • Skill grew past ~500 lines and everything is inline instead of references/
  • New skill shipped without its eval criterion + grader
  • Hypothetical failure modes addressed but observed ones missing

All of these mean: stop, re-run the baseline, fix the skill.

Verification

A skill change is done when ALL of these are true:

  • Baseline scenario run WITHOUT the skill; verbatim failures recorded
  • Same scenario passes WITH the skill
  • pytest tests/unit/test_playbook_integrity.py -q green (depth, frontmatter, description rules)
  • Eval criterion + binary grader added, and the grader has a unit test (evals/promptfoo/tests/)
  • Regenerated install artifacts are in sync: pytest tests/unit/test_generated_artifacts_sync.py -q
  • Manual acceptance check in a real agent (CONTRIBUTING "Manual testing") — skill triggers when it should, stays silent when it shouldn't

References

  • templates/SKILL-template.md — starting point for a new skill
  • references/skill-testing.md — pressure scenarios, pressure types, micro-testing methodology
  • CONTRIBUTING.md — PR process, eval coverage requirement, manual test protocol

© tikalk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/authoring/writing-skills of tikalk/adlc-team-skills.

  • SKILL.md
  • references/skill-testing.md
  • templates/SKILL-template.md

Open the folder on GitHubat commit 6cecb07

Compare with similar skills

Writing Skills next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Writing Skills compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Writing Skills this skilltikalk/adlc-team-skills141—~1.9kAutomated safety check: PassMIT
Skill CreatorAzure/azqr79689 repos~8.2kAutomated safety check: PassApache-2.0
Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase10k11 repos~3.5kAutomated safety check: PassMIT
Darwin Skill Optimizeralchaincyf/darwin-skill6.2k1 repos~4.7kAutomated safety check: PassMIT
Claude Code Command Developmentanthropics/claude-plugins-official38k10 repos~4.8kAutomated safety check: PassApache-2.0
Claude Code Plugin Structureanthropics/claude-plugins-official38k10 repos~3.4kAutomated safety check: PassApache-2.0

Similar skills

  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    796 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Skill Developer Guide

    diet103/claude-code-infrastructure-showcase

    A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.

    10k GitHub starsUsed in 11 repos~3.5k tokens
    Agent WorkflowsAuto-check passed
  • Darwin Skill Optimizer

    alchaincyf/darwin-skill

    Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.

    6.2k GitHub starsUsed in 1 repo~4.7k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    38k GitHub starsUsed in 10 repos~4.8k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    38k GitHub starsUsed in 10 repos~3.4k tokens
    Agent WorkflowsAuto-check passed
  • Skill Release Gate

    rohitg00/ai-engineering-from-scratch

    Evaluates an Agent Skill bundle before release for structure, trigger quality, artifact improvement, script correctness, safety, installed-tree integrity and host portability.

    66k GitHub stars~1k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from tikalk/adlc-team-skills

All 45 skills in this repo
  • Team Boot

    tikalk/adlc-team-skills

    A skill your agent uses when a session starts or resumes after compaction (auto via the sessionstart and sessioncompact event hooks) and the team AI directives context — constitution, CDR index…

    141 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Architect Clarify

    tikalk/adlc-team-skills

    A skill your agent uses when ADRs need review, gaps need filling, or ADR status must be approved as Accepted before architecture generation.

    141 GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • Change Clarify

    tikalk/adlc-team-skills

    A skill your agent uses when reviewing, accepting, rejecting, or deferring ChDRs mined by change-init, validating inferred decisions against their git and issue evidence before promotion to project…

    141 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Change Init

    tikalk/adlc-team-skills

    A skill your agent uses when you want guided mining of git history, structured change-story clustering, or comprehensive rationale recovery before documenting.

    141 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Change Publish

    tikalk/adlc-team-skills

    A skill your agent uses when accepted ChDRs are ready for promotion from drafts to project memory at docs/adlc/memory/chdr/ and the boot-facing chdr.md index needs regenerating.

    141 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Evals Analyze

    tikalk/adlc-team-skills

    A skill your agent uses when evaluation results need triage and loop-closing — spec failures route to deterministic checks or context rules, generalization failures to the evaluator backlog.

    141 GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Writing Skills

What does Writing Skills do?

A skill your agent uses when creating a new skill, editing an existing skill, or verifying skills work before deployment. Writing Skills is an agent skill from tikalk/adlc-team-skills.

When should I use Writing Skills?

Writing Skills fits situations like: creating a new skill; editing an existing skill; verifying skills work before deployment.

How do I install Writing Skills in Claude Code?

Run `npx skills add tikalk/adlc-team-skills --skill writing-skills -a claude-code`. Or copy the skill folder (skills/authoring/writing-skills in tikalk/adlc-team-skills) into .claude/skills/writing-skills in your project. Claude Code loads it when a task matches its description.

How do I install Writing Skills in Codex?

Run `npx skills add tikalk/adlc-team-skills --skill writing-skills -a codex`. Or copy the skill folder (skills/authoring/writing-skills in tikalk/adlc-team-skills) into .agents/skills/writing-skills in your project. Codex loads it when a task matches its description.

Can I use Writing Skills in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tikalk/adlc-team-skills --skill writing-skills -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/writing-skills, .gemini/skills/writing-skills, .github/skills/writing-skills and .opencode/skills/writing-skills in your project.

What does Writing Skills need to run?

Going by SKILL.md and its folder, Writing Skills needs the command-line tools its instructions call (pytest).

Does Writing Skills access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Writing Skills safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Writing Skills use?

Writing Skills is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Writing Skills use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 765 tokens, read only when the agent opens those files.

What are the alternatives to Writing Skills?

Skills that share tags, products or a category with Writing Skills: Skill Creator (Azure/azqr, 796 stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars), Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars) and Claude Code Command Development (anthropics/claude-plugins-official, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Writing Skills?

tikalk (a GitHub organization) maintains it in tikalk/adlc-team-skills, which has 141 GitHub stars. The repository holds 45 skills in this directory. The repository was last updated on October 9, 2026.

Source: tikalk/adlc-team-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.