fixed-assets
Skill0 starsChanged 4 months agoMITView on GitHub
Manage fixed assets including capitalization, depreciation, and disposal. Use when user wants to (1) process asset transactions from source files, (2) run the interactive workflow with guided questions, (3) execute scripts directly, or (4) understand depreciation calculations and account mappings.
In this repository52 other files it gives its agents.
- skills/composition-patterns/AGENTS.mdAGENTS.md
- sample-project/CLAUDE.mdCLAUDE.md
- agent-orchestratorSkill
- api-designSkill
- banner-designSkill
- brainstormingSkill
- brandSkill
- capital-accountsSkill
- composition-patternsSkill
- continuous-learning-v2Skill
- contract-reviewSkill
- credential-scannerSkill
- deployment-patternsSkill
- design-systemSkill
- dispatching-parallel-agentsSkill
- docker-patternsSkill
- e2e-testingSkill
- executing-plansSkill
- finishing-a-development-branchSkill
- frontend-designSkill
- git-guardrails-claude-codeSkill
- graphifySkill
- huashu-designSkill
- investmentsSkill
- iterative-retrievalSkill
- legal-agreementSkill
- plain-english-translationSkill
- terms-of-service-generatorSkill
- pdfSkill
- prd-to-issuesSkill
- prd-to-planSkill
- receiving-code-reviewSkill
- requesting-code-reviewSkill
- security-reviewSkill
- shapeSkill
- slidesSkill
- subagent-driven-developmentSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- triage-issueSkill
- ui-stylingSkill
- ui-ux-pro-maxSkill
- using-git-worktreesSkill
- using-superpowersSkill
- verification-before-completionSkill
- video-prompt-builderSkill
- webapp-testingSkill
- web-design-guidelinesSkill
- write-a-prdSkill
- writing-plansSkill
- writing-skillsSkill
- xlsxSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
When user invokes /fixed-assets or asks to process assets:
- Distinctive: line 59
Before generating any schedules or journal entries, you MUST obtain these from the user:
- Distinctive: line 61
Report Period End Date: - Must be quarter-end (Mar 31, Jun 30, Sep 30, or Dec 31)
- Distinctive: line 62
Transaction Dates: - Must be provided for each capitalization or disposal
- Distinctive: line 70
When user selects an operation or says "do all", Claude MUST automatically run ALL applicable steps in sequence:
- Very specific: line 96
After generating ANY XLSX files, Claude MUST run recalc.py to recalculate formulas and verify zero errors:
- Very specific: line 108
If status: success → "Generated [file] with X formulas, 0 errors"
- Very specific: line 109
If status: errors_found → Show error details and fix before delivering
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Fixed Assets Module
Manage the complete lifecycle of fixed assets: capitalization, depreciation, and disposal.
Interactive Workflow
When user invokes /fixed-assets or asks to process assets:
First, check for source files:
"Let me check what source data is available in data/source/fixed-assets/"
Run:
ls -la data/source/fixed-assets/- If source files exist, ask:
"I found these files: [list]. Which file contains the data you want to process?"
- If no source files, ask:
"No source files found in data/source/fixed-assets/. Would you like to:
- Place a CSV/PDF file there and try again
- Enter transaction details manually"
- Ask for report period end date (REQUIRED):
"What is the reporting period end date? (Must be Mar 31, Jun 30, Sep 30, or Dec 31)"
- Then ask operation:
What would you like to do?
- Capitalize - Record a new asset purchase
- Depreciate - Generate depreciation entries
- Dispose - Record asset disposal
- Status - View current asset register
Source Data Location
Users should place their asset data files in:
data/source/fixed-assets/Supported formats: CSV, PDF
View current asset register:
cat data/output/fixed-assets/asset_register.json | python3 -m json.toolRequired User Inputs
Before generating any schedules or journal entries, you MUST obtain these from the user:
- Report Period End Date - Must be quarter-end (Mar 31, Jun 30, Sep 30, or Dec 31)
- Transaction Dates - Must be provided for each capitalization or disposal
Period Start: Defaults to January 1st of the report year. JEs always cover full YTD.
Auto-Run Workflow (CRITICAL)
When user selects an operation or says "do all", Claude MUST automatically run ALL applicable steps in sequence:
For Purchase + Disposal (full lifecycle):
capitalize.py→ Record purchasedepreciate.py→ Generate schedule + JEs (Jan 1 through disposal date)- CRITICAL: Include
"disposal_date"in asset JSON to stop depreciation at disposal
- CRITICAL: Include
dispose.py→ Record disposal with gain/loss
For Purchase only:
capitalize.py→ Record purchasedepreciate.py→ Generate schedule + JEs (Jan 1 through report date)
Required Outputs Checklist
- Capitalization journal entry (if new purchase)
- Depreciation schedule (CSV + XLSX)
- Depreciation journal entries (from Jan 1 of report year)
- PPE rollforward (Jan 1 through report date)
- Disposal journal entry (if sold/retired)
- Updated asset register
- Recalculate all XLSX formulas (see below)
DO NOT skip any steps. DO NOT complete without ALL outputs.
XLSX Post-Processing (MANDATORY)
After generating ANY XLSX files, Claude MUST run recalc.py to recalculate formulas and verify zero errors:
.venv/bin/python lib/recalc.py <output_file.xlsx>Example:
.venv/bin/python lib/recalc.py data/output/fixed-assets/ppe_rollforward_2025-09-30.xlsxReport results to user:
- If
status: success→ "Generated [file] with X formulas, 0 errors" - If
status: errors_found→ Show error details and fix before delivering
DO NOT deliver XLSX files without running recalc.py first.
Accounting Policies
- Depreciation Method: Straight-line only
- First/Final Period: Prorated based on actual days in service
- Salvage Value: Deducted from depreciable base before calculating depreciation
- Disposal: Gain/loss recognized immediately at disposal date
Reference Documents
| Topic | Reference |
| Default useful lives (IRS MACRS) | references/asset_lives.md |
| GL account codes | references/account_mapping.md |
| Excel formulas & proration | references/depreciation_math.md |
| Partial disposal, batch processing | references/advanced_usage.md |
Scripts
scripts/
├── capitalize.py # Record asset purchases
├── depreciate.py # Generate depreciation schedules
├── dispose.py # Record disposals with gain/loss
└── depreciation.py # Core calculation functions1. Capitalize (Purchase)
Record the initial asset purchase.
.venv/bin/python .claude/skills/fixed-assets/scripts/capitalize.py \
--name "CNC Milling Machine" \
--category Equipment \
--date "2025-03-15" \
--cost 180000 \
--credit-account cash \
--output-dir "data/output/fixed-assets"Parameters:
--name: Asset name--category: Equipment, Vehicle, Furniture, Computer, Building, Software, Patent--date: Purchase date (YYYY-MM-DD)--cost: Purchase cost--credit-account:cashorap(accounts payable)--output-dir: Output directory (default: data/output/fixed-assets)
Journal Entry:
Dr 1500 Property Plant & Equipment $180,000
Cr 1000 Cash $180,0002. Depreciate
Generate depreciation schedules and periodic journal entries.
.venv/bin/python .claude/skills/fixed-assets/scripts/depreciate.py \
--assets '[{"name": "CNC Milling Machine", "category": "Equipment", "purchase_date": "2025-03-15", "cost": 180000, "salvage": 15000, "useful_life": 10}]' \
--period monthly \
--report-date "2025-09-30" \
--output-dir "data/output/fixed-assets"Parameters:
--assets: JSON array of assets or path to JSON file--period: Depreciation frequency - monthly, quarterly, or annual--report-date: Period end date (YYYY-MM-DD)--period-start: Period begin date (YYYY-MM-DD) - alternative to --period-type--period-type:quarterly,half-year, orannual- auto-calculates period-start--output-dir: Output directory (default: data/output/fixed-assets)
Asset JSON Format:
{
"name": "Asset Name",
"category": "Equipment",
"purchase_date": "2025-01-15",
"cost": 50000,
"salvage": 5000,
"useful_life": 5,
"disposal_date": "2025-05-15" // Optional - stops depreciation at this date
}Output Files:
schedule_<asset>.csv/.xlsx- Period-by-period scheduleconsolidated_schedule.csv/.xlsx- All assets combinedppe_rollforward.xlsx- PPE summary with formulasconsolidated_journal.csv/.xlsx- All journal entries
3. Dispose
Record asset disposal with gain/loss calculation.
.venv/bin/python .claude/skills/fixed-assets/scripts/dispose.py \
--name "CNC Milling Machine" \
--category Equipment \
--purchase-date "2025-03-15" \
--cost 180000 \
--salvage 15000 \
--useful-life 10 \
--disposal-date "2025-07-08" \
--proceeds 180000 \
--output-dir "data/output/fixed-assets"Journal Entry (Gain):
Dr 1000 Cash $180,000
Dr 1600 Accumulated Depreciation $5,259
Cr 1500 Property Plant & Equipment $180,000
Cr 7200 Gain on Disposal $5,259Output Files
| File | Description |
capitalize_<asset>.csv/.xlsx | Purchase journal entry |
schedule_<asset>.csv/.xlsx | Depreciation schedule |
disposal_<asset>.csv/.xlsx | Disposal journal entry |
consolidated_schedule.csv/.xlsx | All assets combined |
ppe_rollforward.xlsx | PPE summary with formulas |
consolidated_journal.csv/.xlsx | All depreciation entries |
asset_register.json | Fixed asset tracking |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

